package org.brisling.domain.sysman.inf;


/**
 * 
 * 树结构业务实体类接口，定义树结构实体必须实现的基本方法
 * @author : jackson wang
 * @Date   : 2015年6月8日 下午10:01:07
 * @version: 1.0
 * @param <T> 实现类的泛型接口定义
 */
public interface HierachicalBeanDataModeler<T> extends BizBeanDataModeler {
	

	/**
	 * 获取父节点实体
	 * @return 父节点实体对象
	 */
	public T getParent();
	
	/**
	 * 设置实体唯一编码
	 * @param id 实体唯一编码
	 */
	public void setId(Long id);
	
	/**
	 * 设置父节点
	 * @param t 实体对象
	 */
	public  void setParent(T t);
	
//	public  Set<T> getChildrens();
//	
//	public void setChildrens(Set<T> t);
	
	/**
	 * 获取父节点唯一编码
	 * @return 父节点唯一编码
	 */
	public Long getParentid();
	
	/**
	 * 设置父节点唯一编码
	 * @param id 父节点唯一编码
	 */
	public void setParentid(Long id);
	
	/**
	 * easyui节点展开标志，有子节点，返回<code>open</code>，无子节点，返回<code>close</code>
	 * @return String open 或 close
	 */
	public String getState();
	
	
	/**
	 * 设置节点展开标志,有子节点，设置<code>open</code>，无子节点，设置<code>close</code>
	 * @param state open 或 close
	 */
	public void setState(String state);
	
	
	/**
	 * 获取easyui节点显示的内容
	 * @return String 节点显示的内容
	 */
	public String getText();
	
	
	
	/**
	 * 实体转换为json数据对象
	 * @return String json格式实体数据
	 */
	public String toTreeString();

}
